﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Product_Add.aspx.cs" Inherits="JKF.Web.Product.Product_Add" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>产品/配件添加</title>
    <style type="text/css">
   label
    {
    	color:Black;
    }
    .showMsg
    {
    	color:Red;
    }
     
    </style>
        <%= RegScript("~/js/jquery.1.5.js")%>
        <%= RegScript("~/js/jquery.js")%> 
        <%=RegScript("~/js/Common.js")%>
        <%=RegScript("~/js/jquery.json.js")%>
        <%=RegScript("~/js/jquery.nhis.js")%>
        <%=RegScript("~/js/jquery.rchis.js")%>
        <%=RegScript("~/js/jquery.validate.js")%>
        <%=RegScript("~/js/DatePicker/WdatePicker.js")%>
        <%=RegStyle("~/js/suggest/jquery.suggest.css")%>
        <%--<%=this.RegStyle("~/App_Themes/Theme1/common.css")%>--%>
        <%= RegScript("~/js/jquery-ui-custom.min.js")%>
        <%= RegScript("~/js/check.js")%>
    <link href="/App_Themes/Theme2/Include.css"   rel="stylesheet" type="text/css" />
    <script src="/js/Uppop/tipswindown2.js"  type="text/javascript"></script>  
    <script type="text/javascript" language="javascript">
        $(function () {
            $("#BtnSave").click(function () {

                saveModule();
                //tipsWindown.close();
            });
            // 单击新建分类时，页面跳转至礼品类别页面
            $('#TYPE').change(function () {
                var typeId = $(this).val();
                if (typeId == '-1') {
                    self.$('#SORT_KEY').html('<option value="-1">请选择</option>');
                    return false; //如果没有选择，则不去请求
                }
                if (typeId != '1') {
                    //如果选择的不是合同类产品，则没有型号/规格 
                    $('#div_model').css('display', 'none');
                    $('#td_model').css('display', 'none');
                    alxVr.pop(); //移除最后一个值 
                } else {
                    $('#div_model').css('display', 'block');
                    $('#td_model').css('display', 'block');
                    alxVr.push({ id: "MODEL",
                        rule: function (jd) {
                            if (!ntEmpt.test(jd.val())) {
                                this.msg = "请输入型号/规格."; return false;
                            } return true;
                        }
                    });
                }
                $.post('/do/Product/Product_Sort.do',
                       { ActionName: "GetProduct_SortByType", TYPE: typeId },
                       function (data) {
                           if (data.error == true) {
                               ShowWarn(data.message);
                           }
                           else {
                               self.$('#SORT_KEY').html('').append(data.message);
                           }
                       }, 'json');
            });

            // 单击新建分类时，页面跳转至产品类别页面
            $('#addProduct_Sort').click(function () {
                // 调用礼品分类设置的单击事件 
                parent.tipsWindown.close(); //关闭层
                window.parent.parent.goPage('/Product/Sort/Product_Sort_View.aspx产品分类设置', '.RibbonZoneContent div[title=\'产品分类设置\']', ''); 
                
            });
        });  
    </script>

    <script type="text/javascript">
        var isAdd = '<%=NoAddRedirect%>'  //没有权限跳转到提示页面
        var intSetTimeOutID; // 用于停止计时器
        var arrLinkBtn = new Array();
        arrLinkBtn.push(new Array('clearProductForm()', '继续添加')); //调用函数的参数要用双引号
        arrLinkBtn.push(new Array('parent.tipsWindown.close()', '返回列表'));
        var AppPath = "<%=AppPath %>";
        var handler = AppPath + '/do/Product/Product.do';
        var scid = '<%=P("moduleKey") %>';
        var operationType = 'InsertProduct'; // 操作类型
        var dateCreateGuid = '<%=Guid.NewGuid() %>'; //产生guid
        var dateCreateDate = '<%=DateTime.Now.ToString("yyyy-MM-dd") %>'; //如果是添加则取当前日期 如果是修改则是数据创建时间
        var ntEmpt = /^[^ ]+$/;
        var dtReg = /^\d{4}(\/|-)([1][0-2]|[1-9]|0[1-9])(\/|-)([1-2][0-9]|3[0-1]|[1-9]|0[1-9])( (0?[0-9]|1[0-9]|2[0-4])(:([0-5][0-9])){1,2})?$/;
        var ntmd5 = /^\w{8}-(\w{4}-){3}\w{12}$/;  // 校验MD5有效性
        var ntFloat = /^\d+(\.\d+)?$/;  // 验证是否为浮点数
        $(function () {
            check();
            InitForm();
            // 检查店面名称
            checkName();
            $('#btnclose').click(function () {
                parent.tipsWindown.close();
            });
            //如果是修改，则移除继续添加按钮
            if (ntEmpt.test(scid)) {
                arrLinkBtn.shift();
            }
        });
        //$.FxNull(jd.val(), "")  此方法是如果获取到的为Null或者undefine 就赋值为"" 
        function check() {
            alxVr.push({ id: "TYPE",
                rule: function (jd) {
                    if (jd.val()=='-1') {
                        this.msg = "请选择产品类别."; return false;
                    }  
                    return true;
                }
            });
            alxVr.push({ id: "SORT_KEY",
                rule: function (jd) {
                    if (jd.val() == '-1') {
                        this.msg = "请选择所属分类."; return false;
                    }
                    return true;
                }
            });
            alxVr.push({ id: "NAME",
                rule: function (jd) {
                    if (!ntEmpt.test(jd.val())) {
                        this.msg = "请输入产品名称."; return false;
                    } else if ($.FxNull(jd.val(), "").length > 50) {
                        this.msg = "产品名称不要超过50个字符"; return false;
                    }
                    return true;
                }
            });
            
            alxVr.push({ id: "PURCHASE_PRICE",
                rule: function (jd) {
                    if (!ntEmpt.test(jd.val())) {
                        this.msg = "请输入进货价."; return false;
                    } else if (!ntFloat.test(jd.val())) {
                        this.msg = "请输入正确地进货价，必须是非负数."; return false;
                    } return true;
                }
            });
            alxVr.push({ id: "RETAIL_PRICE",
                rule: function (jd) {
                    if (!ntEmpt.test(jd.val())) {
                        this.msg = "请输入零售价."; return false;
                    } else if (!ntFloat.test(jd.val())) {
                        this.msg = "请输入正确地零售价，必须是非负数."; return false;
                    } return true;
                }
            });
//            alxVr.push({ id: "MODEL",
//                rule: function (jd) {
//                    if (!ntEmpt.test(jd.val())) {
//                        this.msg = "请输入型号/规格."; return false;
//                    } return true;
//                }
//            });

            alxVr.push({ id: "LIFE_LENGTH",
                rule: function (jd) {
                    var v = jd.val();
                    if (jd.val() != "") {
                        if (!isInteger(v)) {
                            this.msg = "使用寿命必须填整数";
                            return false;
                        }
                        if (parseInt(v) <= 0) {
                            this.msg = "使用寿命必须大于0";
                            return false;
                        }
                        if (parseInt(v) >= 1000) {
                            this.msg = "使用寿命值填写不合理";
                            return false;
                        }
                    }
                    return true;
                }
            });

            alxVr.push({ id: "DESCRIPTION",
                rule: function (jd) {
                    if (codeLength(jd.val()) > 50) {
                        this.msg = "描述长度不可大于50个字符";
                        return false;
                    }
                    return true;
                }
            });

            $.validateBind();

        }
        // 检查名称是否被占用
        function checkName() {
            $('#NAME').blur(function () {
                var new_name = $(this).val();
                var old_name = $('#hidNAME').val(); // 原来的名称
                if (new_name.length > 0 && old_name != new_name) {
                    $.post(handler, { ActionName: 'CheckProductName', PRODUCT_NAME: $(this).val() },
                     function (rslt) {
                         if (rslt.MessageCode == "Ok") {
                             if (rslt.Data) {
                                 alert("此名称已经存在,请重新输入！");
                                 //$('#span_name').text('此名称已经存在,请重新输入！');
                                 // 禁用保存按钮
                                 $('#BtnSave').attr('disabled', 'disabled').attr('title', '按钮被禁用'); ;
                                 return false; // 表明已存在
                             }
                             $('#span_name').text('');
                             // 启用保存按钮
                             $('#BtnSave').removeAttr('disabled').attr('title', '按钮可用');
                             return true;
                         }
                         alert(rslt.Message);
                     }, 'json');
                } else if (new_name == old_name) { // 如果没有修改则恢复
                    $('#span_name').text('');
                    // 启用保存按钮
                    $('#BtnSave').removeAttr('disabled').attr('title', '按钮可用');
                }
            });

        }
        // 清空表单内容
        function clearProductForm() {
            $('input[type=text]').val('');
            $('select').val('-1');
            $('#MEMO').val('');
            $('#hidNAME').val('null');
            clearTimeout(intSetTimeOutID); // 停止计时器
            // 如果是单击继续添加，则关闭弹出层
            $('#resultTipDiv').dialog('close');
        }
        // 保存店面信息
        function saveModule() {
            if (!$.validateAll()) {
                if ($(".alxv-failed").size() > 0) {
                    $(document).scrollTop($(".alxv-failed").eq(0).scrollTop());
                }
                return;
            };

            // 处理添加和修改
            processEditorInsert(operationType);
        }
        //处理店面表的添加和修改
        function processEditorInsert(actionName) {
            /// <summary>处理店面表的添加和修改</summary>
            /// <param name="actionName" type="String">请求的ActionName</param>
            var tObj = {}, objCfg = {}, pName;
            $(":text,input:checked,select,textarea").each(function () {

                pName = ($.FxNull($(this).attr("type"), "").toLowerCase() == "radio") ? $.FxNull($(this).attr("name"), "").toUpperCase() : $.FxNull($(this).attr("id"), "").toUpperCase();
                tObj[pName] = (objCfg[pName]) ? $.FxNull($(this).attr(objCfg[pName]), "") : $(this).val();
            });

            if (ntmd5.test(scid) && scid) {// 判断是否有效MD5
                tObj.PRODUCT_KEY = scid;
            }
            else if (scid == '') {
                tObj.PRODUCT_KEY = dateCreateGuid;
            } else {
                alert('不存在此记录');
                return false;
            }
            $.post(handler, { ActionName: actionName, moduleObj: $.toJSON(tObj) }, function (rslt) {
                if (rslt.MessageCode == "Ok") {//保存成功
                    //alert(rslt.Message);
                    scid = rslt.Data; //记录主键
                    var shopType = 'Edit';
                    if (actionName == 'InsertProduct') {
                        shopType = 'Insert';
                    }
                    updateView(shopType); //添加或修改数据成功后更新列表页面
                    //parent.tipsWindown.close(); //  必须加上parent关闭,这样算是在Shop_View.aspx中执行
                    //top.$("#screenEdit").dialog("close");
                    $.popResultTip(rslt.Message, arrLinkBtn);
                    return;
                } else if (rslt.MessageCode == "No") {
                    alert(rslt.Message + '\r\n单击确定并关闭此窗口');
                    parent.tipsWindown.close();//关闭弹出层
                    return;
                }
                alert(rslt.Message);
            }, "json");
        }
        //处理更新shop_view.aspx中表格显示 
        function updateView(shopType) {
            /// <summary>处理更新shop_view.aspx中表格显示</summary>
            /// <param name="shopType" type="String">添加还是修改</param>
            tr = $("<tr key=" + scid + "></tr>");

            $('<td width="100px"></td>').appendTo(tr).html('<input  class="common_btn_edit mr12"  type="button" onclick="addProduct(' + "'" + scid + "'" + ')" /><input name="" type="button" class="common_btn_del mr12"  />');
            $('<td width="200px"></td>').appendTo(tr).text($("#NAME").val()); //产品名称
            $('<td width="260px"></td>').appendTo(tr).text($("#MODEL").val()); // 型号
            $('<td width="100px"></td>').appendTo(tr).text($("#SORT_KEY option:selected").text()); // 所属类别
            $('<td width="150px"></td>').appendTo(tr).text($("#RETAIL_PRICE").val()); // 零售价格
            $('<td width="100px"></td>').appendTo(tr).text($("#PURCHASE_PRICE").val()); // 进货价格
            $('<td width="100px"></td>').appendTo(tr).text(dateCreateDate); //录入时间
            if (shopType == 'Insert') {
                scid = "";
            }
            // 这样才是shop_view.aspx页面，因为此页面是在Shop_View.aspx中打开
            window.parent.popRetuInfo($(tr), scid);
        }

        // 如果是编辑某条记录时，先填写读取到的内容
        function InitForm() {
            if ($.FxNull(scid, "").length > 0) { //如果主键不为空，初始化信息
                operationType = 'EditProduct'; // 当获取到的店面编号不为空，则表示是修改
                $.post(handler, { ActionName: "GetProductByCode", moduleKey: $.FxNull(scid, "") },
                 function (ItemInfo) {
                     if (ItemInfo.MessageCode == "Ok") {
                         if (ItemInfo.Data) {
                             var item = ItemInfo.Data;
                             //　这里将店面名称保存到隐藏域中，以便提交修改时需要
                             $('#hidNAME').val($.FxNull(item.NAME, ""));
                             $("#NAME").val($.FxNull(item.NAME, ""));
                             //$("#GIFT_TPYE_KEY").val($.FxNull(item.GIFT_TPYE_KEY, ""));
                             $("#MODEL").val($.FxNull(item.MODEL, ""));
                             $("#RETAIL_PRICE").val(($.FxNull(item.RETAIL_PRICE, ""))); //零售价格
                             $("#PURCHASE_PRICE").val($.FxNull(item.PURCHASE_PRICE, "")); //进货价格
                             $('#DESCRIPTION').val($.FxNull(item.DESCRIPTION, "")); // 描述
                             $('#LIFE_LENGTH').val($.FxNull(item.LIFE_LENGTH, "")); //产品使用寿命
                             $('#TYPE').val($.FxNull(item.TYPE, "")); //产品类别
                             //所属分类
                             $('#TYPE').change();
                             var interCityId = setInterval(function () {
                                 if ($('#SORT_KEY option').length > 1) {
                                     $('#SORT_KEY').val($.FxNull(item.SORT_KEY, ""));
                                     clearInterval(interCityId);
                                 }
                             }, 500); 
                         }
                         return;
                     }
                     alert(ItemInfo.Message);
                 }, "json");
            }
        }    
    </script>
</head>
<body id="modulebody">
    <form id="form1" runat="server">
    <div>
        <%--<input id="BtnSave" type="button"  class="btn77"  value="保存" /> --%>
    </div>
    <div class="pop_logging_body" style="padding:22px 20px; margin-top:0px; margin-bottom:26px; margin-right:35px; margin-left:35px "> 
      <table width="100%" border="0" cellspacing="0" cellpadding="0"   class="common_table_noborde">
          <tr>
             <td width="15%" align="right"><span class="f12red">*</span>产品类别：</td>
             <td width="29%"> 
                  <select id="TYPE" style="width:150px">
                        <option value="-1">请选择</option>
                        <option value="1">合同类</option>
                        <option value="2">耗材类</option>
                        <option value="3">增值系列</option>
                    </select> <br />
             </td>
             <td width="3%">&nbsp;</td>
             <td width="14%" align="right"><span class="f12red">*</span>所属分类：</td>
             <td width="33%">  
                 <select id="SORT_KEY" style="width:150px;">
                      <option value="-1">请选择</option> 
                 </select> 
                 <input type="button" class="btn_style" id="addProduct_Sort"  value="创建分类" />
             </td>
          </tr>

          <tr>
             <td align="right"><span class="f12red">*</span>产品名称：</td>
             <td> 
                 <input id="NAME" type="text" /> 
                 <!--用于保存当前的店面名称-->
                 <input id="hidNAME" type="hidden" value="null" />
                 <%--<span id="span_name" class="showMsg"   ></span>--%>
             </td> 
              <td width="3%">&nbsp;</td>
              <td align="right" id="td_model"> <label for="MODEL"><span class="f12red">*</span>型号/规格：</label>  </td>
              <td align="left">
                 <div id="div_model">   
                           
                 <input type="text"  id="MODEL"  /> 
                 </div>
                 
             </td> 
          </tr>
          <tr>
             <td align="right"><span class="f12red">*</span>进货价：</td>
             <td> 
                 <input id="PURCHASE_PRICE" type="text" />
             </td>
             <td width="3%">&nbsp;</td>
             <td align="right"><span class="f12red">*</span>零售价：</td>
             <td> 
                 <input id="RETAIL_PRICE"  type="text" />
             </td> 
          </tr>   
          <tr>
             <td align="right">使用寿命</td>
             <td>  
                  <input id="LIFE_LENGTH" type="text" />个月  
             </td>  
              <td width="3%">&nbsp;</td>
             <td align="right">描述：</td>
             <td> 
                 <input id="DESCRIPTION" type="text" style="width:250px"/> 
             </td>           
          </tr>
      </table>
      </div>
      <div class="pop_btn">
         <input id="BtnSave" type="button" class="common_btn_save mr30 mb25" value="" />
	     <input id="btnclose" type="button" class="common_btn_remove mb25" value=" "  />
     </div>
    </form>
</body>
</html>
